package cn.Liujialin.basic.mapper;


import cn.Liujialin.basic.query.BeanQuery;

import java.util.List;

/**
 * 公共的Base接口
 * @param <T>
 */
public interface BeanMapper<T> {
    /**
     * 1.公共的CRUD
     * 2.分页 + 高级查询
     */

    //保存一个对象
    void save(T t);

    //修改一个对象
    void update(T t);

    //删除一个对象 根据Id
    void del(Long id);

    //查询一个对象  根据Id
    T findById(Long id);

    //查询所有
    List<T> findByAll();

    //查询总条数
    Long queryCount(BeanQuery query);

    //查询当前页数据
    List<T> queryData(BeanQuery query);

    //批量删除
    void patchDelete(List<Long> ids);

}
